#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

//int lengthOfLongestSubstring(char* s) {
//    char str[100001] = { 0 };
//    int count = 0;
//    char* p = s;
//    int max = 0;
//    char* p1 = str;
//    while (*p)
//    {
//        int flg = 1;
//        char* start = str;
//        while (*start)
//        {
//            if (max < count)
//            {
//                max = count;
//            }
//            if (*start == *p)
//            {
//                flg = 0;
//                memset(str, 0, max);
//                p1 = str;
//                count = 0;
//            }
//            start++;
//        }
//        if (flg)
//        {
//            *p1 = *p;
//            p++;
//            p1++;
//            count++;
//        }
//    }
//    if (max < count)
//        max = count;
//    return max;
//}
//
//int main()
//{
//    char arr[] = "abcabcbb";
//    int ret = lengthOfLongestSubstring(arr);
//    printf("%d\n", ret);
//    return 0;
//}


//int main()
//{
//	int arr[10] = { 0 };
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		arr[i] = i + 1;
//	}
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}
//#include <stdlib.h>
//int main()
//{
//	int* arr = (int*)malloc(INT_MAX);
//	if (arr == NULL)
//	{
//		perror("malloc arr");
//		return 1;
//	}
//	int  i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		arr[i] = i + 1;
//	}
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	free(arr);
//	arr = NULL;
//	return 0;
//}

#include <stdlib.h>

int main()
{
	int* arr_malloc = (int*)malloc(40);
	if (arr_malloc == NULL)
	{
		perror("malloc fail!");
		return 1;
	}
	int  i = 0;
	for (i = 0; i < 10; i++)
	{
		arr_malloc[i] = i + 1;
	}
	int* ptr = (int*)realloc(arr_malloc, 8000);
	if (ptr == NULL)
	{
		perror("realloc fail!");
		return 1;
	}
	arr_malloc = ptr;
	for (i = 10; i < 20; i++)
	{
		arr_malloc[i] = i + 1;
	}
	for (i = 0; i < 20; i++)
	{
		printf("%d ", arr_malloc[i]);
	}
	free(arr_malloc);
	arr_malloc = NULL;
	return 0;
}